Embodiments of the inventive subject matter generally relate to the field of computer systems, and, more particularly, to assessment of processor performance metrics in computer systems by monitoring probes constructed using instruction sequences.
Assessing performance of workloads on computing systems can be an important part of the testing and day-to-day operation of workloads. Traditionally such assessments are accomplished through liberal use of hardware performance instrumentation (“performance counters”) whose data must be collected and analyzed while customer workloads are running. In previous approaches, significant expense can incurred not only at system design due to the inclusion of counter and event qualification logic in hardware designs, but in execution at customer sites for counter configuration, data collection, and performance analysis. Further, the measurements (and thus the performance analysis) can be greatly affected by factors such as logical partitioning, power management policies in effect at the time measurements are taken, operating system policies, variety of customer workloads being processed, and a multitude of hardware configurations that are possible. In conventional performance benchmarking, such factors are tightly controlled so that they do not impact the benchmark. However, the benchmark results do not necessarily reflect real world conditions which typically are affected by logical partitioning, power management policies in effect at the time measurements are taken, operating system policies and customer workloads.
Another common approach to hardware performance metrics is to simply measure time. This measurement is often called “CPU Utilization.” While easy to collect, it can be prone to inaccuracies when applied to metrics such as computational capacity, resource consumption, or work-performed.